// app/[lng]/auth/reset-password/page.tsx import { redirect } from 'next/navigation'; import { validateResetTokenAction } from '@/lib/users/auth/partners-auth'; import InvalidTokenPage from '@/components/login/InvalidTokenPage'; import ResetPasswordForm from '@/components/login/reset-password'; import { getPasswordPolicy } from '@/lib/users/auth/passwordUtil'; interface Props { searchParams: Promise<{ token?: string }>; } export default async function ResetPasswordPage(props: Props) { const searchParams = await props.searchParams; const token = searchParams.token; // 토큰이 없는 경우 로그인 페이지로 리다이렉트 if (!token) { redirect('/partners'); } // 서버에서 토큰 검증 const tokenValidation = await validateResetTokenAction(token); // 토큰이 유효하지 않은 경우 if (!tokenValidation.valid) { return ( ); } // 패스워드 정책 로드 const passwordPolicy = await getPasswordPolicy(); // 유효한 토큰인 경우 폼 표시 return (
); }